Systems and methods for vehicle recommendations based on user gestures

ABSTRACT

According to certain aspects of the disclosure, a computer-implemented method may be used for providing a vehicle recommendation based on user gestures. The method may include displaying an image of a vehicle to a user and receiving at least one gesture from the user performed on the image of the vehicle. Additionally, the method may include assigning a value to the at least one gesture from the user and determining a feature of the vehicle based on the at least one gesture from the user. Additionally, the method may include receiving gesture information related to the at least one gesture and determining a vehicle preference of the user based on the value, the feature of the vehicle, and the gesture information. Additionally, the method may include identifying an available vehicle based on the vehicle preference of the user and displaying the available vehicle to the user.

TECHNICAL FIELD

Various embodiments of the present disclosure relate generally toproviding purchase recommendations to users based on the user'spreferences and/or the preferences of a population, and morespecifically, to artificial intelligence-based purchase recommendations.

BACKGROUND

Consumers of relatively expensive items, such as cars, real estate,mattresses, boats, computers, etc., may conduct part or all of theirshopping for such items online, via the Internet. In researching andcompleting such a purchase, a consumer may visit multiple websites insearch of appropriate information. When a consumer searches for avehicle, for example, the options may be very basic and depend on theconsumer knowing specifically their preferences in predefinedcategories. For example, a consumer may view inventory information orperform other research regarding a purchase on multiple websites.However, current vehicle purchase websites rely on drop downs and hardfilters with strict predefined categories. Thus, a user may be unable tofind certain information on a particular website and/or may be unsure ofwhere such information is located.

Furthermore, in vehicle purchases such as those described above,consumers may spend countless hours researching due to the current rigidsearch options relying only on specific predefined categories set by themanufactures, dealers, and websites. This process may cause frustrationamong the consumers and may lead to disengagement from the vehiclepurchasing experience.

The present disclosure is directed to addressing one or more of theseabove-referenced challenges. The background description provided hereinis for the purpose of generally presenting the context of thedisclosure. Unless otherwise indicated herein, the materials describedin this section are not prior art to the claims in this application andare not admitted to be prior art, or suggestions of the prior art, byinclusion in this section.

SUMMARY

According to certain aspects of the disclosure, non-transitory computerreadable media, systems, and methods are disclosed for determining oneor more vehicle recommendations. Each of the examples disclosed hereinmay include one or more of the features described in connection with anyof the other disclosed examples.

In one example, a computer-implemented method may be used for providinga vehicle recommendation based on user gesture. The method may includedisplaying, by one or more processors, at least one image of a vehicleto a user; receiving, by the one or more processors, at least onegesture from the user performed on the at least one image of thevehicle; assigning, by the one or more processors, a value to the atleast one gesture from the user; determining, by the one or moreprocessors, a feature of the vehicle based on the at least one gesturefrom the user; receiving, by the one or more processors, gestureinformation related to the at least one gesture; determining, by the oneor more processors, a vehicle preference of the user based on the value,the feature of the vehicle, and the gesture information; identifying, bythe one or more processors, at least one available vehicle based on thevehicle preference of the user; and displaying, by the one or moreprocessors, the at least one available vehicle to the user.

According to another aspect of the disclosure, a computer system forproviding a vehicle recommendation based on user gesture may include amemory having processor-readable instructions stored therein; and atleast one processor configured to access the memory and execute theprocessor-readable instructions, which when executed by the processorconfigures the processor to perform a plurality of functions. Thefunctions may include: displaying at least one image of a vehicle to auser; receiving at least one gesture from the user performed on the atleast one image of the vehicle; assigning a value to the at least onegesture from the user; determining a feature of the vehicle based on theat least one gesture from the user; receiving gesture informationrelated to the at least one gesture; determining a vehicle preference ofthe user based on the value, the feature of the vehicle, and the gestureinformation; identifying at least one available vehicle based on thevehicle preference of the user; and displaying the at least oneavailable vehicle to the user.

In another aspect of the disclosure, a computer-implemented method forproviding a vehicle recommendation based on user gesture may includedisplaying, by one or more processors, at least one image of a vehicleto a user; receiving, by the one or more processors, at least onegesture from the user performed on the at least one image of thevehicle; assigning, by the one or more processors, a value to the atleast one gesture from the user; determining, by the one or moreprocessors, at least one feature of the vehicle based on the at leastone gesture from the user; generating, by the one or more processors, amatrix containing the value, the at least one feature of the vehicle,and identification information of the at least one image; determining,by the one or more processors, for each of the at least one feature ofthe vehicle, a quantity of total gestures from the user and a summationof the value assigned to the at least one gesture; determining, by theone or more processors, a ranking of vehicle preferences of the userbased on the quantity of total gestures and the summation of the valueassigned to the at least one gesture; identifying, by the one or moreprocessors, at least one available vehicle based on the ranking ofvehicle preferences of the user; and displaying, by the one or moreprocessors, the at least one available vehicle to the user.

Additional objects and advantages of the disclosed embodiments will beset forth in part in the description that follows, and in part will beapparent from the description, or may be learned by practice of thedisclosed embodiments.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate various exemplary embodiments andtogether with the description, serve to explain the principles of thedisclosed embodiments.

FIG. 1 depicts an exemplary environment in which systems, methods andother aspects of the present disclosure may be implemented.

FIG. 2 depicts an exemplary interface for performing gestures on vehicleimages, according to one aspect of the present disclosure.

FIG. 3 depicts an exemplary interface for displaying recommendationresults, according to one aspect of the present disclosure.

FIG. 4 depicts an exemplary flow diagram of a method of providing avehicle recommendation based on user gestures on vehicle images,according to aspects of the present disclosure.

FIG. 5 depicts another exemplary flow diagram of an additional method ofproviding a vehicle recommendation based on user gestures on vehicleimages, according to aspects of the present disclosure.

FIG. 6 depicts an exemplary computer device or system, in whichembodiments of the present disclosure, or portions thereof, may beimplemented.

DETAILED DESCRIPTION

The subject matter of the present description will now be described morefully hereinafter with reference to the accompanying drawings, whichform a part thereof, and which show, by way of illustration, specificexemplary embodiments. An embodiment or implementation described hereinas “exemplary” is not to be construed as preferred or advantageous, forexample, over other embodiments or implementations; rather, it isintended to reflect or indicate that the embodiment(s) is/are “example”embodiment(s). Subject matter can be embodied in a variety of differentforms and, therefore, covered or claimed subject matter is intended tobe construed as not being limited to any exemplary embodiments set forthherein; exemplary embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware, or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of exemplary embodiments in whole or in part.

The terminology used below may be interpreted in its broadest reasonablemanner, even though it is being used in conjunction with a detaileddescription of certain specific examples of the present disclosure.Indeed, certain terms may even be emphasized below; however, anyterminology intended to be interpreted in any restricted manner will beovertly and specifically defined as such in this Detailed Descriptionsection. Both the foregoing general description and the followingdetailed description are exemplary and explanatory only and are notrestrictive of the features, as claimed.

In this disclosure, the term “based on” means “based at least in parton.” The singular forms “a,” “an,” and “the” include plural referentsunless the context dictates otherwise. The term “exemplary” is used inthe sense of “example” rather than “ideal.” The term “or” is meant to beinclusive and means either, any, several, or all of the listed items.The terms “comprises,” “comprising,” “includes,” “including,” or othervariations thereof, are intended to cover a non-exclusive inclusion suchthat a process, method, or product that comprises a list of elementsdoes not necessarily include only those elements, but may include otherelements not expressly listed or inherent to such a process, method,article, or apparatus. Relative terms, such as, “substantially” and“generally,” are used to indicate a possible variation of ±10% of astated or understood value.

In the following description, embodiments will be described withreference to the accompany drawings. Various embodiments of the presentdisclosure relate generally to methods and systems for providing avehicle recommendation based on consumer gestures on vehicle images. Forexample, various embodiments of the present disclosure relate todisplaying vehicle images to a consumer and determining a vehicularpreference of the user based on the gestures performed by the consumeron the images.

As described above, consumers may be limited to certain predefinedcategories (e.g., hard filters) when searching for a vehicle even ifthey already have preferences on a specific style or available features.For consumers at the beginning stages of research (e.g., those uncertainof which preferences, make, model, features, etc. they may be interestedin,) such predefined categories (e.g., hard filters) may be even moredifficult to navigate. Therefore, a need exists to assist consumers insearching for and researching vehicles. The vehicle recommendationsystems and methods of the present disclosure may allow the consumer toindicate specific preferences based on their interactions with images ofvehicles to learn the consumer preferences and select available vehiclesthat best match the consumer preference.

Referring now to the appended drawings, FIG. 1 shows an exemplaryenvironment 100 in which systems, methods, and other aspects of thepresent disclosure may be implemented. Environment 100 may include auser device 110 operated by a user (not shown), a vehicle recommendationserver 120, a vehicle database 125, and a user vehicle preferencedatabase 126.

The vehicle database 125 may contain data related to vehicles that areavailable for purchase (e.g., vehicles that are actively listed for saleby one or more merchants, dealers, websites, vehicle aggregatorservices, ads, etc.). For example, vehicle database 125 may include themake, model, color, year, and options/features of available vehicles.Vehicle database 125 may also include images of the available vehicles.The images may be sorted (e.g., ordered) in a predetermined sequence(e.g., right side profile of vehicle, front of the vehicle, rear of thevehicle, left side profile of vehicle).

The user vehicle preference database 126 may contain data related tovehicle preferences of the user. For example, user vehicle preferencedatabase 126 may include user vehicle preferences and user gesture data.User vehicle preferences may include the user's preference on variousvehicle attributes (e.g., wheel pattern and color, tire dimensions,vehicle shape and color, vehicle brand and logo, door handle shape andfeatures, door type and shape, window shape and features, rearwindshield shape and features, light shape and features, bumper shapeand features, etc.). Other vehicle attributes, while not mentionedexplicitly, may also be included based on the user preferences. Gesturedata may include information related to one or more gestures performedby a user on one or more vehicle images. Gesture data may include thetype of gesture, the velocity of gestures performed, the pressure ofgestures performed, any repetition of gestures, order of gesturesperformed, speed of gestures performed, coordinates of the gestures onthe image, and the image name.

The user device 110 and the vehicle recommendation server 120 may beconnected via network 105. Network 105 may be any suitable network orcombination of networks and may support any appropriate protocolsuitable for communication of data between various components in thesystem environment 100. The network 105 may include a public network(e.g., the Internet), a private network (e.g., a network within anorganization), or a combination of public and/or private networks.

The user device 110 may be operated by one or more users to performpurchases and transactions at an online environment. Examples of userdevice 110 may include smartphones, wearable computing devices, tabletcomputers, laptops, desktop computers, and vehicle computer systems.

Environment 100 may include one or more computer systems configured togather, process, transmit, and/or receive data. In general, wheneverenvironment 100 is described as performing an operation of gathering,processing, transmitting, or receiving data, it is understood that suchoperation may be performed by a computer system thereof. In general, acomputer system may include one or more computing devices, as describedin connection with FIG. 6 below.

FIG. 2 depicts an exemplary interface 200 for performing gestures onvehicle images, according to one aspect of the present disclosure. Theexemplary interface 200 may be displayed via a display of user device110, and may include an image of a vehicle 205. Further, the user mayinteract with the image of vehicle 205 to indicate their preferences,via interface 200. For example, the user may perform one or more circlegestures 210, for instance, circling the headlight of the vehicle andthe front window of the vehicle as shown in FIG. 2 . The user may alsoperform one or more cross gestures 220, for example, marking an “X” overthe wheels of the vehicle and the rear window of the vehicle.Additionally, the user may perform a question mark gesture 230, markingthe rear taillight of the vehicle with a “?”. In the present disclosure,a circle gesture 210 may indicate that the user likes or prefers thefeature(s) displayed in the circled area, an “X” gesture 220 mayindicate that the user dislikes or does not prefer the feature(s)displayed in the marked area, and a “?” gesture 230 may indicate thatthe user neither likes/prefers or dislikes/does not prefer (e.g., isindifferent) the marked area. Therefore, in the example image of vehicle205 of FIG. 2 , the user may indicate that the user likes the displayedheadlight and the displayed front window, dislikes the displayed wheelsand the displayed rear window, and is unsure or neither likes ordislikes (e.g., is indifferent toward) the displayed taillight. Whilethe gestures discussed above include circle, “X”, and “?” forlike/prefer, dislike/doesn't prefer, or indifferent, respectively, anyother gestures or shapes may be used to indicate like/prefer,dislike/doesn't prefer, or indifference. For example, a user may bepermitted to draw or mark a number indicative of a preference (e.g., anumber “1” for prefers and a number “−1” for doesn't prefer, or anincreasing number value to indicate an increasing degree of preference).Additionally, while three response options are depicted in FIG. 2 , inother arrangements, greater or fewer response options may be available.For example, a user may be provided with five options to denote a scaleof preference information including dislike (e.g., “1”), somewhatdislike (e.g., “2”), indifferent (e.g., “3”), somewhat like (e.g., “4”),and like (e.g., “5”). Regardless of the variety and quantity of thegestures, the gestures may be performed via an input device provided by,or operably coupled to, user device 110. Such input devices may includea touch screen, a mouse, and/or a keyboard.

FIG. 3 depicts an exemplary interface 300 for displaying recommendationresults, according to one aspect of the present disclosure. Interface300 may include results page 305. The results page 305 may be a web pagedisplayed via a web browser residing on the user device 110. The resultspage 305 may also be an e-mail displayed by an application residing onthe user device 110. The results page 305 may include available vehicles310A, 310B, and 310C, and features chart 320. The features chart 320 mayinclude features of a vehicle that the user has performed gestures on toindicate preference. For example, features chart 320 may include lights321 and door 322 as features of a vehicle that the user has indicated apreference towards. Features chart 320 may display how the features ofthe corresponding available vehicles 310A-310C correspond to thepreferences of the user. For example, the lights of vehicle A are an 82%match to the vehicle lights preference of the user, and the door ofvehicle C is a 76% match to the vehicle door preference of the user.Features chart 320 may further display that the lights of vehicle C area 75% match to the vehicle lights preference of the user, and the doorof vehicle B is a 70% match to the vehicle door preference of the user,and the lights of vehicle B are a 40% match to the vehicle lightspreference of the user, and the door of vehicle A is a 55% match to thevehicle door preference of the user. In the example shown in FIG. 3 , ahigher percentage match to the vehicle feature preference of the userfor a specific feature may indicate that the vehicle is similar to thepreferred vehicle of the user. Additionally, a lower percentage match tothe vehicle feature preference of the user for a specific feature mayindicate that the vehicle is less similar to the preferred vehicle ofthe user.

The user may review the results page 305 and the features chart 320 tohelp inform their decision as to which vehicles most closely align withthe user's preference. The results page 305 may also include userinteractive areas for available vehicles 310A-310C such that the usermay interact with an available vehicle (e.g., click or touch anavailable vehicle 310A-310C) and the user may be directed to themerchant that has the available vehicle for purchase, may be presentedwith contact information of the merchant, and/or may initiate atelephone call, a chat session, and/or e-mail communication with themerchant.

FIG. 4 depicts an exemplary flow diagram 400 of a method of providing avehicle recommendation based on user gestures on vehicle images,according to one aspect of the present disclosure. The flow diagram 400may begin with step 401 where at least one image of a vehicle isdisplayed to a user. Such an image may be displayed via a display ofuser device 110, as noted above. At step 402 gestures performed by theuser on the image of the vehicle may be received, and at step 403 avalue may be assigned to the at least one gesture from the user. Forexample, if the user likes a feature of the vehicle, the user may draw acircle around the feature. Then, in accordance with step 403, thefeature may be assigned a value of “1”, indicating a positivepreference. If the user dislikes a feature of the vehicle, the user maydraw a “X” over the feature. Then, in accordance with step 403, thefeature may be assigned a value of “−1”, indicating a negativepreference. Further, if the user is unsure or neither likes or dislikes(e.g., is indifferent toward) a feature, the user may draw a “?” overthe feature. Next, in accordance with step 403, the feature may beassigned a value of “0.5”. Upon assigning a value to the at least onegesture, the feature of the vehicle may be determined based on thegesture at step 404. For example, if the user draws a gesturearound/over the headlight of the vehicle in the image, then based on thelocation of the gesture, it may be determined that the user performed agesture on the headlight and the preference of the user is determinedbased on the gesture (e.g., prefer the shape of the headlight if acircle is drawn, or dislike the shape of the headlight if an “X” isdrawn, etc.). While the gestures circle, “X” and “?” are discussed withregards to the current disclosure, any other gestures may also be usedfor users to indicate his/her preference, as noted above.

At step 405, gesture information related to at least one gesture mayalso be received. Gesture information may include the velocity of thegesture, pressure of the gesture, repetition of the gesture, order ofthe gesture, speed of the gesture, coordinates of the gestures on theimage, and the image name. Gesture information may further indicatepreference of the user of a particular feature of the vehicle. Forexample, if a user exerts a lot of pressure when performing a circlegesture around a feature it may indicate that the feature is importantto the user and a weight may be applied to the feature to indicate theimportance. Because gestures may be performed via an input device suchas a mouse, or via touch, the gesture information may also include mouseor touch location of the gestures and the coordinates of the inputs.

At step 406, the vehicle preference of the user may be determined basedon the value of the gestures, the features of the vehicle, gestureinformation, and vehicle information. The features of the vehicle may bedetermined based on the coordinates of the gestures performed on theimage of the vehicle, as discussed above according to step 405. Vehicleinformation may include an image of the vehicle, the make, model, yearand trim of the vehicle, and the angles of the vehicle in the images(e.g., front of the vehicle, side of the vehicle, rear of the vehicle,etc.). The vehicle preference of the user may be determined using amachine learning algorithm such as a convolutional neural network (CNN).While CNN is discussed throughout the present disclosure, it is used asan exemplary algorithm, and any other machine learning algorithms mayalso or alternatively be used. The CNN may receive as inputs thegesture, the gesture location and size, gesture coordinates, the vehicleinformation, and a time stamp, and may then analyze visual imagery todetermine the features of the vehicle and the corresponding value. Forexample, the vehicle image 205 depicted in FIG. 2 may be input into theCNN for identification analysis. The output of the analysis may be[Headlight, 1], [Drive Window, 1], [Wheels, −1], [Rear Window. −1],[Taillight, 0.5], [Year, Made, Model], [Side View]. The identificationanalysis may be performed by the CNN for each image of a vehicle thatthe user performs gestures on so as to acquire a variety of data todefine the vehicle preference of the user.

After determining the vehicle preference(s) of the user, the vehiclepreference(s) may be input into the CNN for similarity analysis toidentify at least one available vehicle based on the vehiclepreference(s) of the user at step 407. Indeed, the CNN may analyze thesimilarities and difference of all the vehicle features a user may haveperformed gestures on. For example, the user may have performed gestureson three different vehicle images, and indicated that the user likes theheadlights on two of the vehicles but dislikes the headlights on thethird vehicle. The CNN may perform visual imagery analysis to determinethe similarities and differences between the headlights of the threevehicles. The CNN may then perform a comparison of the headlights of allavailable vehicles to the three headlights the user has indicatedpreferences on to select available vehicles that most closely match withthe user preferred headlight. The CNN may perform this analysis withevery feature the user has performed gestures on by comparison tocorresponding features on all of the available vehicles. Uponidentifying at least one available vehicle that matches or meets thepreferences of the user (e.g., matches exactly or satisfies a predefinedthreshold of matching), the available vehicle(s) may then be presentedto the user at step 408. The display of available vehicles maycorrespond to FIG. 3 . For example, the display may be a web pagedisplayed via a web browser residing on the user device 110.Additionally or alternatively, the display may be an e-mail displayed byan application residing on the user device 110.

FIG. 5 depicts another exemplary flow diagram 500 of a method ofproviding a vehicle recommendation based on user gestures on vehicleimages, according to one aspect of the present disclosure. The flowdiagram 500 may begin with step 501 where at least one image of avehicle is displayed to a user. For example, such an image may bedisplayed via a display of user device 110, as noted above. At step 502gestures performed by the user on the image of the vehicle may bereceived, and at step 503, a value may be assigned to the at least onegesture from the user. For example, if the user likes a feature of thevehicle, the user may draw a circle around the feature and the featuremay be assigned a value of “1”, indicating a positive preference. If theuser dislikes a feature of the vehicle, the user may draw an “X” overthe feature and the feature may be assigned a value of “−1”, indicatinga negative preference. If the user is unsure or neither likes ordislikes a feature (e.g., is indifferent towards the feature), the usermay draw a “?” over the feature and the feature may be assigned a valueof “0.5”. Upon assigning a value to the at least one gesture, thefeature of the vehicle may be determined based on the gesture at step504. For example, if the user draws a gesture around/over the headlightof the vehicle in the image, then based on the location of the gesture,it may be determined that the user performed a gesture on the headlightand the preference of the user is determined based on the gesture (e.g.,prefer the shape of the headlight if a circle is drawn, or dislike theshape of the headlight if an “X” is drawn). While the gestures circle,“X” and “?” are discussed with regards to the current disclosure, anyother gestures may also be used for users to indicate his/herpreference, as discussed above.

At step 505, the identified features of the vehicles, which may alsoinclude gesture information determined in step 502, the correspondingvalue, and corresponding identification information of the images may bereceived and a matrix may be generated based on the information. Anexemplary matrix is presented below:

Vehicle Vehicle Vehicle Vehicle Vehicle 1 2 3 4 N Lights 1 −1 1 .5 1Door N 1 1 .5 1 Window N N −1 N N

Exemplary Matrix 1

Exemplary matrix 1 may include the images of vehicles that the userperformed gestures on (e.g., Vehicle 1-Vehicle N), the features ofvehicles identified by the gestures (e.g., lights, door, window), andthe value assigned to the features based on the gesture (e.g., the userperformed a positive gesture on the lights of vehicle 1, but did notperform any gestures on the door or window of vehicle 1 as denoted by‘N’). At step 506 a determination may be made for each of the at leastone feature of the vehicle, a quantity of total gestures from the user,and a summation of the value assigned to the at least one gesture. Forexample, as depicted by exemplary matrix 1, the user may have performedone or more gestures on images of five vehicles. With respect to thefeature of lights, the user performed gestures on all five vehicles witha total value of 2.5 (2.5=1−1+1+0.5+1). With respect to the feature ofthe door, the user performed gestures on four of the five vehicles witha total value of 3.5 (3.5=1+1+0.5+1). With respect to the feature of thewindow, the user performed gestures on one of the five vehicles with atotal value of −1. In the example of matrix 1, a value of 1 is assignedto gestures indicating a positive (e.g., like) preference (e.g., circlegestures), a value of 0.5 is assigned to gestures indicating anindifferent response (e.g., “?” gestures), and a value of −1 is assignedto gestures indicating a negative (e.g., dislike) response.

At step 507, a determination may be made on the ranking of vehiclepreferences of the user based on the quantity of the total gestures andthe summation of the value assigned to the at least one gesture. In theexample discussed above with respect to exemplary matrix 1, the user mayhave a particular preference for lights of a vehicle because the userperformed the most gestures on the lights (e.g., 5 total gestures), andmay have the least particular preference on the window of a vehiclebecause the user performed the fewest gestures on the window (e.g., 1total gesture). Therefore a ranking may be made to place the lights asthe top vehicle preference of the user and place the window as thebottom vehicle preference of the user. As noted above, the vehiclepreferences of the user may be identified via the CNN or other machinelearning algorithm. The summation of values of each of the features(e.g., 2.5 for the lights and −1 for the window) may be used as aconfidence value for the CNN to determine similarities when searchingavailable vehicles.

At step 508, an identification process may be conducted to find at leastone available vehicle based on the ranking of the vehicle preferences ofthe user. For example, as discussed above with reference to FIG. 4 ,after identifying the vehicle preference of the user, the CNN (or othermachine learning algorithm) may perform similarity analysis to identifyat least one available vehicle based on the vehicle preference(s) of theuser. Upon identifying at least one available vehicle that matches ormeets the preferences of the user (e.g., matches exactly or satisfies apredetermined matching threshold), the available vehicles may then bepresented to the user at step 509. The display of available vehicles maycorrespond to FIG. 3 and may be listed according to the ranking of thevehicle preference of the user. For example, available vehicles withsimilar lights to the user vehicle light preference may be displayedfirst because the user may have indicated that the light is a moreimportant preference than other features. The display may be a web pagedisplayed via a web browser residing on the user device 110. The displaymay also or alternatively be an e-mail or displayed by an applicationresiding on the user device 110.

FIG. 6 depicts a high-level functional block diagram of an exemplarycomputer device or system, in which embodiments of the presentdisclosure, or portions thereof, may be implemented, e.g., ascomputer-readable code. In some implementations, the user device 110 maycorrespond to device 600. Additionally, each of the exemplary computerservers, databases, user interfaces, modules, and methods describedabove with respect to FIGS. 1-5 can be implemented in/via device 600using hardware, software, firmware, tangible computer readable mediahaving instructions stored thereon, or a combination thereof, and may beimplemented in one or more computer systems or other processing systems.Hardware, software, or any combination of such may implement each of theexemplary systems, user interfaces, and methods described above withrespect to FIGS. 1-5 .

If programmable logic is used, such logic may be executed on acommercially available processing platform or a special purpose device.One of ordinary skill in the art may appreciate that embodiments of thedisclosed subject matter can be practiced with various computer systemconfigurations, including multi-core multiprocessor systems,minicomputers, mainframe computers, computers linked or clustered withdistributed functions, as well as pervasive or miniature computers thatmay be embedded into virtually any device.

For instance, at least one processor device and a memory may be used toimplement the above-described embodiments. A processor device may be asingle processor or a plurality of processors, or combinations thereof.Processor devices may have one or more processor “cores.”

Various embodiments of the present disclosure, as described above in theexamples of FIGS. 1-5 , may be implemented using device 600. Afterreading this description, it will become apparent to a person skilled inthe relevant art how to implement embodiments of the present disclosureusing other computer systems and/or computer architectures. Althoughoperations may be described as a sequential process, some of theoperations may in fact be performed in parallel, concurrently, and/or ina distributed environment, and with program code stored locally orremotely for access by single or multi-processor machines. In addition,in some embodiments the order of operations may be rearranged withoutdeparting from the spirit of the disclosed subject matter.

As shown in FIG. 6 , device 600 may include a central processing unit(CPU) 620. CPU 620 may be any type of processor device including, forexample, any type of special purpose or a general-purpose microprocessordevice. As will be appreciated by persons skilled in the relevant art,CPU 620 also may be a single processor in a multi-core/multiprocessorsystem, such system operating alone, or in a cluster of computingdevices operating in a cluster or server farm. CPU 620 may be connectedto a data communication infrastructure 610, for example, a bus, messagequeue, network, or multi-core message-passing scheme.

Device 600 also may include a main memory 640, for example, randomaccess memory (RAM), and also may include a secondary memory 630.Secondary memory 630, e.g., a read-only memory (ROM), may be, forexample, a hard disk drive or a removable storage drive. Such aremovable storage drive may comprise, for example, a floppy disk drive,a magnetic tape drive, an optical disk drive, a flash memory, or thelike. The removable storage drive in this example reads from and/orwrites to a removable storage unit in a well-known manner. The removablestorage unit may comprise a floppy disk, magnetic tape, optical disk,etc., which is read by and written to by the removable storage drive. Aswill be appreciated by persons skilled in the relevant art, such aremovable storage unit generally includes a computer usable storagemedium having stored therein computer software and/or data.

In alternative implementations, secondary memory 630 may include othersimilar means for allowing computer programs or other instructions to beloaded into device 600. Examples of such means may include a programcartridge and cartridge interface (such as that found in video gamedevices), a removable memory chip (such as an EPROM, or PROM) andassociated socket, and other removable storage units and interfaces,which allow software and data to be transferred from a removable storageunit to device 600.

Device 600 also may include a communications interface (“COM”) 660.Communications interface 660 allows software and data to be transferredbetween device 600 and external devices. Communications interface 660may include a modem, a network interface (such as an Ethernet card), acommunications port, a PCMCIA slot and card, or the like. Software anddata transferred via communications interface 660 may be in the form ofsignals, which may be electronic, electromagnetic, optical, or othersignals capable of being received by communications interface 660. Thesesignals may be provided to communications interface 660 via acommunications path of device 600, which may be implemented using, forexample, wire or cable, fiber optics, a phone line, a cellular phonelink, an RF link or other communications channels.

The hardware elements, operating systems and programming languages ofsuch equipment are conventional in nature, and it is presumed that thoseskilled in the art are adequately familiar therewith. Device 600 alsomay include input and output ports 650 to connect with input and outputdevices such as keyboards, mice, touchscreens, monitors, displays, etc.Of course, the various server functions may be implemented in adistributed fashion on a number of similar platforms, to distribute theprocessing load. Alternatively, the servers may be implemented byappropriate programming of one computer hardware platform.

It should be appreciated that in the above description of exemplaryembodiments of the invention, various features of the invention aresometimes grouped together in a single embodiment, figure, ordescription thereof for the purpose of streamlining the disclosure andaiding in the understanding of one or more of the various inventiveaspects. This method of disclosure, however, is not to be interpreted asreflecting an intention that the claimed invention requires morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive aspects lie in less than allfeatures of a single foregoing disclosed embodiment. Thus, the claimsfollowing the Detailed Description are hereby expressly incorporatedinto this Detailed Description, with each claim standing on its own as aseparate embodiment of this invention.

Furthermore, while some embodiments described herein include some butnot other features included in other embodiments, combinations offeatures of different embodiments are meant to be within the scope ofthe invention, and form different embodiments, as would be understood bythose skilled in the art. For example, in the following claims, any ofthe claimed embodiments can be used in any combination.

Thus, while certain embodiments have been described, those skilled inthe art will recognize that other and further modifications may be madethereto without departing from the spirit of the invention, and it isintended to claim all such changes and modifications as falling withinthe scope of the invention. For example, functionality may be added ordeleted from the block diagrams and operations may be interchanged amongfunctional blocks. Steps may be added or deleted to methods describedwithin the scope of the present invention.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other implementations, which fallwithin the true spirit and scope of the present disclosure. Thus, to themaximum extent allowed by law, the scope of the present disclosure is tobe determined by the broadest permissible interpretation of thefollowing claims and their equivalents, and shall not be restricted orlimited by the foregoing detailed description. While variousimplementations of the disclosure have been described, it will beapparent to those of ordinary skill in the art that many moreimplementations and implementations are possible within the scope of thedisclosure. Accordingly, the disclosure is not to be restricted exceptin light of the attached claims and their equivalents.

1-20. (canceled)
 21. A computer-implemented method for providing an itemrecommendation based on user gesture, the method comprising: receiving,by one or more processors, a gesture from a user performed on adisplayed first content item; generating, by the one or more processors,a second content item depicting the first content item and a depictionof the gesture; determining, by the one or more processors, a feature ofthe item based on the gesture; receiving, by the one or more processors,gesture information related to the gesture; determining, by the one ormore processors and via a machine learning algorithm, an item preferenceof the user based on one or more of the gesture, the feature of theitem, or the gesture information; identifying, by the one or moreprocessors, an item recommendation based on the item preference of theuser; and outputting, by the one or more processors, the itemrecommendation to the user.
 22. The computer-implemented method of claim21, further including: before outputting the item recommendation to theuser, determining, by the one or more processors, a similarity level ofthe item recommendation by comparing the item recommendation to the itempreference of the user.
 23. The computer-implemented method of claim 22,further including: determining whether the similarity level of the itemrecommendation is equal to or exceeds a predetermined threshold; andwhen the determining determines that the similarity level of the itemrecommendation is equal to or exceeds the predetermined threshold,outputting the item recommendation includes causing display of the itemrecommendation having the similarity level equal to or exceeding thepredetermined threshold and an indicator of the similarity level. 24.The computer-implemented method of claim 23, further including: rankingthe display of the item recommendation based on the indicator of thesimilarity level.
 25. The computer-implemented method of claim 21,further including: determining, by the one or more processors, for thefeature of the item, a quantity of total gestures received from the userand a summation of respective values assigned to each gesture.
 26. Thecomputer-implemented method of claim 25, wherein the determining theitem preference of the user further includes determining the itempreference based on the quantity of total gestures received from theuser and the summation of the respective values assigned to the eachgesture.
 27. The computer-implemented method of claim 26, furtherincluding: ranking the item preference based on the quantity of totalgestures received from the user and the summation of the respectivevalues assigned to each gesture.
 28. The computer-implemented method ofclaim 21, wherein the feature of the item is at least one of vehiclewheel, vehicle tire, vehicle shape, vehicle color, vehicle icons,vehicle door, vehicle door handle, vehicle window vehicle rearwindshield, vehicle lights, or vehicle bumper.
 29. Thecomputer-implemented method of claim 21, wherein the gesture informationincludes at least one of type, velocity, pressure, repetition, order, orspeed.
 30. The computer-implemented method of claim 21, wherein thegesture is performed by at least one of touch, mouse, keyboard, orsensors.
 31. A computer system for providing an item recommendationbased on user gesture, the computer system comprising: a memory havingprocessor-readable instructions stored therein; and at least oneprocessor configured to access the memory and execute theprocessor-readable instructions, which when executed by the processorconfigures the processor to perform a plurality of functions, includingfunctions for: receiving a gesture from a user performed on a displayedfirst content item; generating a second content item depicting the firstcontent item and a depiction of the gesture; determining a feature ofthe item based on the gesture; receiving gesture information related tothe at least one gesture; determining via a machine learning algorithman item preference of the user based on one or more of the gesture, thefeature of the item, or the gesture information; identifying an itemrecommendation based on the item preference of the user; and outputtingthe item recommendation to the user.
 32. The computer system of claim31, wherein the functions further include: before outputting the itemrecommendation to the user, determining a similarity level of the itemrecommendation by comparing the item recommendation to the itempreference of the user.
 33. The computer system of claim 32, wherein thefunctions further include: determining whether the similarity level ofthe item recommendation is equal to or exceeds a predeterminedthreshold; and when the determining determines the that the similaritylevel of the item recommendation is equal to or exceeds thepredetermined threshold, outputting the item recommendation includescausing display of the item recommendation having the similarity levelequal to or exceeding the predetermined threshold and an indicator ofthe similarity level.
 34. The computer system of claim 33, wherein thefunctions further include: ranking the display of the itemrecommendation based on the indicator of the similarity level.
 35. Thecomputer system of claim 31, wherein the functions further include:determining, for the feature of the item, a quantity of total gesturesreceived from the user and a summation of respective values assigned toeach gesture.
 36. The computer system of claim 35, wherein the functionsfurther include, in the determining the item preference of the user,determining the item preference based on the quantity of total gesturesreceived from the user and the summation of the respective valuesassigned to each gesture.
 37. The computer system of claim 31, whereinthe feature of the item is at least one of vehicle wheel, vehicle tire,vehicle shape, vehicle color, vehicle icons, vehicle door, vehicle doorhandle, vehicle window vehicle rear windshield, vehicle lights, orvehicle bumper.
 38. The computer system of claim 31, wherein the gestureinformation includes at least one of type, velocity, pressure,repetition, order, or speed.
 39. The computer system of claim 31,wherein the gesture is performed by at least one of touch, mouse,keyboard, or sensors.
 40. A computer-implemented method for providing anitem recommendation based on user gesture, the method comprising:receiving, by one or more processors, a gesture from a user performed ona displayed first content item; generating, by the one or moreprocessors, a second content item depicting the first content item and adepiction of the gesture; determining, by the one or more processors, afeature of the item based on the gesture; generating, by the one or moreprocessors, a matrix containing the feature of the item, a value, andidentification information of the first content and the second content;determining, by the one or more processors, for each feature of theitem, a quantity of total gestures from the user and a summation of thevalue assigned to the gesture; determining, by the one or moreprocessors and via a machine learning algorithm, a ranking of itempreferences of the user based on the quantity of total gestures and thesummation of the value assigned to the gesture; identifying, by the oneor more processors, at least one available item based on the ranking ofitem preferences of the user; and outputting, by the one or moreprocessors, the at least one available item to the user.